export default {
	// 命名空间
	namespaced: true,
	
	// state数据
	state: () => ({
		// 收货地址
		address: JSON.parse(uni.getStorageSync('address') || '{}'),
		token: JSON.parse(uni.getStorageSync('token') || '{}'),
		userinfo: JSON.parse(uni.getStorageSync('userinfo') || '{}'),
		// 重定向的 object 对象 {openType, from }
		redirectinfo: null
	}),
	
	// 方法
	mutations: {
		// 更新收货地址
		updateAddress(state, address) {
			state.address = address
			
			// 调用savr方法将address持久化存储到本地
			this.commit('m_user/saveAddressToStorage')
		},
		// 1.定义将address持久化存储到本地Mutations 方法
		saveAddressToStorage(state) {
			uni.setStorageSync('address', JSON.stringify(state.address))
		},
		// 更新用户信息
		updateUserInfo(state, userinfo) {
			state.userinfo = userinfo
			// 通过this.commit()方法，调用m_user模块下的saveUserInfoStorage方法，存储到畚斗
			this.commit('m_user/saveUserInfoStorage')
		},
		saveUserInfoStorage(state) {
			uni.setStorageSync('userinfo', JSON.stringify(state.userinfo))
		},
		
		// 放入token值
		updateToken(state, token) {
			state.token = token
			this.commit('m_user/saveTokenStorage')
		},
		// 存储token值
		saveTokenStorage(state) {
			uni.setStorageSync('token', JSON.stringify(state.token))
		},
		// 更改重定向信息 
		updateRedirectInfo(state, info) {
			state.redirectinfo = info
			console.log(state.redirectinfo)
		}
	},
	
	// 数据包容器
	getters: {
		addStr(state) {
			if(!state.address.provinceName) {
				 return ''
			}
			return state.address.provinceName + state.address.cityName + state.address.countyName + state.address.detailInfo
		},
	}
}